using System;
using System.Collections.Generic;
using System.Text;

using NHibernate;
using Zwms.Data.Base;
using System.Runtime.Serialization;

namespace Zwms.Data.BusinessObjects
{
    [DataContract]
    public partial class WhLocation : BusinessBase<string>
    {
        #region Declarations

        private string _locationCode = String.Empty;
        private string _areaName = String.Empty;
        private string _warehouseName = String.Empty;
        private string _shelfName = String.Empty;
        private string _warehouseCode = String.Empty;
        private string _locationName = String.Empty;
        private string _locationType = String.Empty;
        private string _areaCode = String.Empty;
        private string _shelfCode = String.Empty;
        private int _shelfRow = default(Int32);
        private int _shelfCol = default(Int32);
        private string _shelfPosition = String.Empty;
        private decimal _width = default(Decimal);
        private decimal _height = default(Decimal);
        private string _barCode = String.Empty;
        private string _taxType = String.Empty;
        private string _storeType = String.Empty;
        private string _storeGoodsCode = String.Empty;
        private string _storeGoodsName = String.Empty;
        private string _storeState = String.Empty;
        private string _putawayFlag = String.Empty;
        private string _pickingFlag = String.Empty;
        private string _replenishmentFlag = String.Empty;
        private string _isVisible = String.Empty;
        private string _isVirtual = String.Empty;
        private int _locationIndex = default(Int32);
        private string _createUserCode = String.Empty;
        private string _createUserName = String.Empty;
        private string _createDate = String.Empty;
        private string _createTime = String.Empty;
        private string _editUserCode = String.Empty;
        private string _editUserName = String.Empty;
        private string _editDate = String.Empty;
        private string _editTime = String.Empty;
        private string _isDeactivated = String.Empty;
        private string _remark = String.Empty;



        #endregion

        #region Constructors

        public WhLocation() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            sb.Append(this.GetType().FullName);
            sb.Append(_locationCode);
            sb.Append(_warehouseCode);
            sb.Append(_locationName);
            sb.Append(_locationType);
            sb.Append(_areaCode);
            sb.Append(_shelfCode);
            sb.Append(_shelfRow);
            sb.Append(_shelfCol);
            sb.Append(_shelfPosition);
            sb.Append(_width);
            sb.Append(_height);
            sb.Append(_barCode);
            sb.Append(_taxType);
            sb.Append(_storeType);
            sb.Append(_storeGoodsCode);
            sb.Append(_storeGoodsName);
            sb.Append(_storeState);
            sb.Append(_putawayFlag);
            sb.Append(_pickingFlag);
            sb.Append(_replenishmentFlag);
            sb.Append(_isVisible);
            sb.Append(_isVirtual);
            sb.Append(_locationIndex);
            sb.Append(_createUserCode);
            sb.Append(_createUserName);
            sb.Append(_createDate);
            sb.Append(_createTime);
            sb.Append(_editUserCode);
            sb.Append(_editUserName);
            sb.Append(_editDate);
            sb.Append(_editTime);
            sb.Append(_isDeactivated);
            sb.Append(_remark);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

        [DataMember]
        public virtual string AreaName
        {
            get { return _areaName.TrimEnd(); }
            set
            {
                _areaName = value;
            }
        }
        [DataMember]
        public virtual string WarehouseName
        {
            get { return _warehouseName.TrimEnd(); }
            set
            {
                _warehouseName = value;
            }
        }
        [DataMember]
        public virtual string ShelfName
        {
            get { return _shelfName.TrimEnd(); }
            set
            {
                _shelfName = value;
            }
        }
        [DataMember]
        public virtual string LocationCode
        {
            get { return _locationCode.TrimEnd(); }
            set
            {
                _locationCode = value;
            }
        }

        [DataMember]
        public virtual string WarehouseCode
        {
            get { return _warehouseCode.TrimEnd(); }
            set
            {
                _warehouseCode = value;
            }
        }

        [DataMember]
        public virtual string LocationName
        {
            get { return _locationName.TrimEnd(); }
            set
            {
                _locationName = value;
            }
        }

        [DataMember]
        public virtual string LocationType
        {
            get { return _locationType.TrimEnd(); }
            set
            {
                _locationType = value;
            }
        }

        [DataMember]
        public virtual string AreaCode
        {
            get { return _areaCode.TrimEnd(); }
            set
            {
                _areaCode = value;
            }
        }

        [DataMember]
        public virtual string ShelfCode
        {
            get { return _shelfCode.TrimEnd(); }
            set
            {
                _shelfCode = value;
            }
        }

        [DataMember]
        public virtual int ShelfRow
        {
            get { return _shelfRow; }
            set
            {
                _shelfRow = value;
            }
        }

        [DataMember]
        public virtual int ShelfCol
        {
            get { return _shelfCol; }
            set
            {
                _shelfCol = value;
            }
        }

        [DataMember]
        public virtual string ShelfPosition
        {
            get { return _shelfPosition.TrimEnd(); }
            set
            {
                _shelfPosition = value;
            }
        }

        [DataMember]
        public virtual decimal Width
        {
            get { return _width; }
            set
            {
                _width = value;
            }
        }

        [DataMember]
        public virtual decimal Height
        {
            get { return _height; }
            set
            {
                _height = value;
            }
        }

        [DataMember]
        public virtual string BarCode
        {
            get { return _barCode.TrimEnd(); }
            set
            {
                _barCode = value;
            }
        }

        [DataMember]
        public virtual string TaxType
        {
            get { return _taxType.TrimEnd(); }
            set
            {
                _taxType = value;
            }
        }

        [DataMember]
        public virtual string StoreType
        {
            get { return _storeType.TrimEnd(); }
            set
            {
                _storeType = value;
            }
        }

        [DataMember]
        public virtual string StoreGoodsCode
        {
            get { return _storeGoodsCode.TrimEnd(); }
            set
            {
                _storeGoodsCode = value;
            }
        }

        [DataMember]
        public virtual string StoreGoodsName
        {
            get { return _storeGoodsName.TrimEnd(); }
            set
            {
                _storeGoodsName = value;
            }
        }

        [DataMember]
        public virtual string StoreState
        {
            get { return _storeState.TrimEnd(); }
            set
            {
                _storeState = value;
            }
        }

        [DataMember]
        public virtual string PutawayFlag
        {
            get { return _putawayFlag.TrimEnd(); }
            set
            {
                _putawayFlag = value;
            }
        }

        [DataMember]
        public virtual string PickingFlag
        {
            get { return _pickingFlag.TrimEnd(); }
            set
            {
                _pickingFlag = value;
            }
        }

        [DataMember]
        public virtual string ReplenishmentFlag
        {
            get { return _replenishmentFlag.TrimEnd(); }
            set
            {
                _replenishmentFlag = value;
            }
        }

        [DataMember]
        public virtual string IsVisible
        {
            get { return _isVisible.TrimEnd(); }
            set
            {
                _isVisible = value;
            }
        }

        [DataMember]
        public virtual string IsVirtual
        {
            get { return _isVirtual.TrimEnd(); }
            set
            {
                _isVirtual = value;
            }
        }

        [DataMember]
        public virtual int LocationIndex
        {
            get { return _locationIndex; }
            set
            {
                _locationIndex = value;
            }
        }

        [DataMember]
        public virtual string CreateUserCode
        {
            get { return _createUserCode.TrimEnd(); }
            set
            {
                _createUserCode = value;
            }
        }

        [DataMember]
        public virtual string CreateUserName
        {
            get { return _createUserName.TrimEnd(); }
            set
            {
                _createUserName = value;
            }
        }

        [DataMember]
        public virtual string CreateDate
        {
            get { return _createDate.TrimEnd(); }
            set
            {
                _createDate = value;
            }
        }

        [DataMember]
        public virtual string CreateTime
        {
            get { return _createTime.TrimEnd(); }
            set
            {
                _createTime = value;
            }
        }

        [DataMember]
        public virtual string EditUserCode
        {
            get { return _editUserCode.TrimEnd(); }
            set
            {
                _editUserCode = value;
            }
        }

        [DataMember]
        public virtual string EditUserName
        {
            get { return _editUserName.TrimEnd(); }
            set
            {
                _editUserName = value;
            }
        }

        [DataMember]
        public virtual string EditDate
        {
            get { return _editDate.TrimEnd(); }
            set
            {
                _editDate = value;
            }
        }

        [DataMember]
        public virtual string EditTime
        {
            get { return _editTime.TrimEnd(); }
            set
            {
                _editTime = value;
            }
        }

        [DataMember]
        public virtual string IsDeactivated
        {
            get { return _isDeactivated.TrimEnd(); }
            set
            {
                _isDeactivated = value;
            }
        }

        [DataMember]
        public virtual string Remark
        {
            get { return _remark.TrimEnd(); }
            set
            {
                _remark = value;
            }
        }
        #endregion
    }
}